Les fondements de la hiérarchie
La hiérarchie mémoire repose sur le compromis entre RAM statique (SRAM) et RAM dynamique (DRAM). Le SRAM utilise une cellule mémoire bistable à 6 transistors cellule mémoire bistable. Imaginez un pendule inversé : il est stable en deux positions mais métastable au milieu. Cette bistabilité le rend rapide, coûteux et peu sensible aux perturbations. À l'inverse, le DRAM stocke les bits sous forme de charge dans un tout petit condensateur (environ 30 × 10⁻¹⁵ farads). En raison de la fuite de charge, le DRAM est plus lent et nécessite un rafraîchissement constant.
Organisation du DRAM et transactions sur bus
Pour minimiser le nombre de broches, les bits du DRAM sont répartis en $d$ supercellules dans une grille $r \times c$ où $rc=d$. L'accès aux données nécessite un processus en deux étapes : le contrôleur mémoire envoie une RAS (signal d'accès à la ligne), déplaçant une ligne vers le tampon de ligne, suivi d'une CAS (signal d'accès à la colonne). Cela explique pourquoi sumarraycols est intrinsèquement plus lent : il manque fréquemment le tampon de ligne.
Déplacement des données
Les données circulent par le biais de transactions sur bus à travers le bus système et bus mémoire, relié par le pont I/O. Une instruction movq A, %rax instruction (transaction de lecture) active le pont pour traduire la demande du processeur en signaux de grille du DRAM.